package com.awspaas.user.apps.cpq.dw;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Map;

import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.dw.exec.event.ideimport.DataWindowValidateImport;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.sdk.local.SDK;

public class ComponentPartDataWindowValidateEvent extends DataWindowValidateImport{

	/**
	 * 导入前校验事件
	 * 
	 * @param me 用户上下文
	 * @param bo 导入的一行数据
	 * @param boName 导入的表
	 * @param errorMsg 错误信息存放，key 错误字段value 错误信息
	* @param type 导入类型，add 新增 update 更新
	 * @return 修改好的bo 返回null代表忽略该条数据
	 * 说明： 1.必须继承类 com.actionsoft.bpms.dw.exec.event.ideimport.DataWindowValidateImport 
	 *
	 */
	  public BO excute(UserContext me, BO bo, String boName, Map<String , String> errorMsg,String type,Map<String ,Object> extendParams ) {
        if(boName.equals("BO_EU_CPQ_COMPONENT_PART")) {
        	//String jg=bo.getString("HSDJ");//含税单价
        	String bhs=bo.getString("DJ");//含税单价
        	//String sl=bo.getString("SL");//税率
//        	if(null!=sl&&!sl.isEmpty()) {       		
//        		if(sl.matches("^[-+]?\\d*(\\.\\d+)?$")) {
//        			BigDecimal num1=new BigDecimal(sl);
//        			BigDecimal num2=new BigDecimal(jg);
//        			BigDecimal num3=new BigDecimal("100");
//        			// bo.set("SL",num3.multiply(num1));//可以直接修改bo的值
//        			BigDecimal price=num2.multiply(num3.subtract(num3.multiply(num1))).divide(num3, 4, RoundingMode.HALF_UP);
//        			 bo.set("CGF",price);//可以直接修改bo的值
//        			 bo.set("DJ",price);//可以直接修改bo的值
//        		}
//        	}else {
//        		  bo.set("CGF",0);//可以直接修改bo的值
//        		  bo.set("DJ",0);//可以直接修改bo的值
//        	}
//        	
//        	//if(null!=sl&&!sl.isEmpty()) {       		
//        		if(sl.matches("^[-+]?\\d*(\\.\\d+)?$")) {
//        			BigDecimal num1=new BigDecimal(sl);
//        			BigDecimal num2=new BigDecimal(bhs);
//        			BigDecimal num3=new BigDecimal("1");
//        			// bo.set("SL",num3.multiply(num1));//可以直接修改bo的值
//        			BigDecimal price=num2.divide(num3.subtract(num1),4,RoundingMode.HALF_UP);
//        			//BigDecimal price=num2.multiply(num3.subtract(num3.multiply(num1))).divide(num3, 4, RoundingMode.HALF_UP);
//        			 bo.set("HSDJ",price);//可以直接修改bo的值
//        		}
//        	}else {
//        		  bo.set("HSDJ",0);//可以直接修改bo的值
//        	}
        	bo.set("CGF",bhs);//可以直接修改bo的值
        	bo.set("HSDJ",bhs);//可以直接修改bo的值
        	String time=bo.getString("GXSJ");//更新时间
        		String date=SDK.getRuleAPI().executeAtScript("@date()");
        		bo.set("GXSJ", date);
        	
        }
	  
	    return bo;
	  }

	}
